﻿using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

/// <summary>
/// Descripción breve de Validacion
/// </summary>
public class Validacion
{
    //constructor
    public Validacion(){}

    //validacion de un rut
    public string validaRut(int rut)
    {   
        /*  http://www.warianoz.com/foros/showthread.php?t=51760
         *  Codigo para validar RUT en distintos Lenguajes de Programacion
         */

        int Digito;
        int Contador;
        int Multiplo;
        int Acumulador;
        string RutDigito;

        Contador = 2;
        Acumulador = 0;

        while (rut != 0)
        {
            Multiplo = (rut % 10) * Contador;
            Acumulador = Acumulador + Multiplo;
            rut = rut/10;
            Contador = Contador + 1;
            if (Contador == 8)
            {
                Contador = 2;
            }
        }

        Digito = 11 - (Acumulador % 11);
        RutDigito = Digito.ToString().Trim();
        if (Digito == 10 )
        {   
            RutDigito = "k";
        }
        if (Digito == 11)
        {
            RutDigito = "0";
        }

        return RutDigito;
    }

    public int esNumeroEnteroPositivo(TextBox texto)
    {
        int es_valido = 1;

        try
        {//probar si es posible convertir string en int
            int temp = int.Parse(texto.Text.Trim());

            /*parsear el dato tambien asegura que el valor
             *no exceda el maximo permitido.
             */

            if (temp <= 0)
            {//ademas si el valor es negativo no es valido
                es_valido = 0;
            }
        }
        catch (Exception)
        {//si no se puede convertir no es valido
            es_valido = 0;
        }

        return es_valido;
    }
}
